// 求出1-n 的全组合
// let res = [];
// const combine = function (prev, count, start) {
//   for (let i = start; i <= 5; i++) {
//     let cur = prev.concat(i);
//     if (count == 2) {
//       res.push(cur);
//     } else {
//       combine(cur, count + 1, i + 1);
//     }
//   }
// };
// combine([], 1, 1);
// console.log(res);
// 1-n 中选k个数 形成不同的组合
let res = [];
function composition(n, k) {
  const combine = (prev, start) => {
    if (prev.length == k) {
      res.push(prev);
      return;
    }
    for (let i = start; i <= n; i++) {
      let cur = prev.concat(i);
      combine(cur, i + 1);
    }
  };
  combine([], 1);
}
composition(4, 3);
console.log(res);
